#ifndef ROULETTEWHEELSELECTIONSTRATEGY_H_
#define ROULETTEWHEELSELECTIONSTRATEGY_H_

#include "SelectionStrategy.h"

/**
  * @author Łukasz Szybka
  */
class RouletteWheelSelectionStrategy : public SelectionStrategy
{
public:
    RouletteWheelSelectionStrategy();
    Chromosome* selectOne(const QList<Chromosome*>& chromosomeList);
    void resetTempData();

private:
    void countDistribution(const QList<Chromosome*>& chromosomeList);
    QList<double> distributionList;

};

#endif /*ROULETTEWHEELSELECTIONSTRATEGY_H_*/
